﻿using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace EMC.VISITOR.Core;

    public interface IHttpClient
    {
        Task<string> GetStringAsync(string url, string authorizationToken = null, string authorizationMethod = "Bearer");
        Task<string> DeleteAsync(string url, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer");

        Task<HttpResponseMessage> PutAsync<T>(string url, T item, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer");
        Task<string> PostAsync<T>(string url, T item, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer");

        Task<string> PostAsync(string url, Dictionary<string, string> form, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer");
        Task<ResultJsonInfo<T>> PostSingleImage<T>(string requestUrl, byte[] bmpBytes, string fileName);

        Task<ResultJsonInfo<T>> PostFiles<T>(string url, Dictionary<string, string> dic, string requestname, Dictionary<string, byte[]> dicFile);
    }

